package nsu.edu.zsq.common;

import java.util.HashMap;
import java.util.Map;

import lombok.Getter;
import lombok.Setter;

/** 
* Description: 统一json数据封装<br>
*/

@Getter
@Setter
public class JsonData {
    
    /**
     * 状态，true:成功，false:失败
     */
    private boolean state;
    
    /**
     * 信息内容
     */
    private String msg;
    
    /**
     * 数据体
     */
    private Object data;
    
    public JsonData(boolean state) {
        this.state = state;
    }
    
    public static JsonData success(Object object, String msg) {
        JsonData jsonData = new JsonData(true);
        jsonData.data = object;
        jsonData.msg = msg;
        return jsonData;
    }

    public static JsonData success(Object object) {
        JsonData jsonData = new JsonData(true);
        jsonData.data = object;
        return jsonData;
    }

    public static JsonData success() {
        return new JsonData(true);
    }

    public static JsonData fail(String msg) {
        JsonData jsonData = new JsonData(false);
        jsonData.msg = msg;
        return jsonData;
    }

    public Map<String, Object> toMap() {
        HashMap<String, Object> result = new HashMap<String, Object>(3);
        result.put("state", state);
        result.put("msg", msg);
        result.put("data", data);
        return result;
    }
}
